// default package
// Generated 28 Jul, 2014 8:04:07 PM by Hibernate Tools 3.4.0.CR1
package com.galaxy.bean;

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * SalesInvoicedAggregated generated by hbm2java
 */
@Entity
@Table(name = "sales_invoiced_aggregated", catalog = "magento", uniqueConstraints = @UniqueConstraint(columnNames = {
		"period", "store_id", "order_status" }))
public class SalesInvoicedAggregated implements java.io.Serializable {

	private Integer id;
	private CoreStore coreStore;
	private Date period;
	private String orderStatus;
	private int ordersCount;
	private BigDecimal ordersInvoiced;
	private BigDecimal invoiced;
	private BigDecimal invoicedCaptured;
	private BigDecimal invoicedNotCaptured;

	public SalesInvoicedAggregated() {
	}

	public SalesInvoicedAggregated(int ordersCount) {
		this.ordersCount = ordersCount;
	}

	public SalesInvoicedAggregated(CoreStore coreStore, Date period,
			String orderStatus, int ordersCount, BigDecimal ordersInvoiced,
			BigDecimal invoiced, BigDecimal invoicedCaptured,
			BigDecimal invoicedNotCaptured) {
		this.coreStore = coreStore;
		this.period = period;
		this.orderStatus = orderStatus;
		this.ordersCount = ordersCount;
		this.ordersInvoiced = ordersInvoiced;
		this.invoiced = invoiced;
		this.invoicedCaptured = invoicedCaptured;
		this.invoicedNotCaptured = invoicedNotCaptured;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "store_id")
	public CoreStore getCoreStore() {
		return this.coreStore;
	}

	public void setCoreStore(CoreStore coreStore) {
		this.coreStore = coreStore;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "period", length = 10)
	public Date getPeriod() {
		return this.period;
	}

	public void setPeriod(Date period) {
		this.period = period;
	}

	@Column(name = "order_status", length = 50)
	public String getOrderStatus() {
		return this.orderStatus;
	}

	public void setOrderStatus(String orderStatus) {
		this.orderStatus = orderStatus;
	}

	@Column(name = "orders_count", nullable = false)
	public int getOrdersCount() {
		return this.ordersCount;
	}

	public void setOrdersCount(int ordersCount) {
		this.ordersCount = ordersCount;
	}

	@Column(name = "orders_invoiced", precision = 12, scale = 4)
	public BigDecimal getOrdersInvoiced() {
		return this.ordersInvoiced;
	}

	public void setOrdersInvoiced(BigDecimal ordersInvoiced) {
		this.ordersInvoiced = ordersInvoiced;
	}

	@Column(name = "invoiced", precision = 12, scale = 4)
	public BigDecimal getInvoiced() {
		return this.invoiced;
	}

	public void setInvoiced(BigDecimal invoiced) {
		this.invoiced = invoiced;
	}

	@Column(name = "invoiced_captured", precision = 12, scale = 4)
	public BigDecimal getInvoicedCaptured() {
		return this.invoicedCaptured;
	}

	public void setInvoicedCaptured(BigDecimal invoicedCaptured) {
		this.invoicedCaptured = invoicedCaptured;
	}

	@Column(name = "invoiced_not_captured", precision = 12, scale = 4)
	public BigDecimal getInvoicedNotCaptured() {
		return this.invoicedNotCaptured;
	}

	public void setInvoicedNotCaptured(BigDecimal invoicedNotCaptured) {
		this.invoicedNotCaptured = invoicedNotCaptured;
	}

}
